/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package Negocio;

import entidades.Cita;
import entidades.Enfermedad;
import entidades.HistoriaClinica;
import entidades.ListaDeEspera;
import entidades.ListaEnfermedades;
import entidades.Medico;
import entidades.Mensaje;
import entidades.Paciente;
import entidades.Usuario;
import javax.ejb.Local;

/**
 *
 * @author Pablo
 */
@Local
public interface InterfazNegocio {

    public static enum Error {

        NO_ERROR,
        CONTRASEÑA_ERRONEA,
        ERROR_ENVIAR_MENSAJE,
        ERROR_USUARIO_INESISTENTE,
        ERROR_MENSAJE_INESISTENTE,
        ERROR_CITA_INESISTENTE,
        ERROR_USUARIO_REPETIDO
        
    };
    
   public Error registrarUsuario(Usuario u);
    
   public Error compruebaLogin(Usuario u);

   public Usuario refrescarUsuario(Usuario u);

   public Error modificar_Datos_Personales(Usuario u);

   public Error insertar_Lista_Espera( Paciente p,ListaDeEspera l );

   public Error eliminarUsuario(Usuario u);
    
   public Error insertar_Lista_Paciente(Paciente p);
    
   public Error eliminar_Paciente_Lista_Espera(Paciente p,ListaDeEspera l);
    
   public Error modificar_Historia_Clinica(HistoriaClinica c);
    
   public Error mandar_mensaje(Mensaje m,Usuario u);
   
   public Error eliminar_mensaje(Mensaje m , Usuario u);
   
   public Error añadir_Enfermedad(Enfermedad e,ListaEnfermedades l);
   
   public Error eliminar_Enfermedad(Enfermedad e,ListaEnfermedades l);
   
   public Error Añadir_Cita(Cita c,Medico m);
   
   public Error Eliminar_cita(Cita c, Medico m);
   
   
   
   
}
